#ifndef MAPDATA_H
#define MAPDATA_H

#include <QPoint>
#include <vector>

// 地图元素类型
enum class MapElement : int {
    Floor = 0,    // 空地（替换原来的 Empty）
    Wall = 1,     // 墙
    Target = 3,   // 目标点
    Player = 4,   // 玩家
    Box = 5,      // 箱子
    BoxOnTarget = 6, // 箱子在目标点上
    PlayerOnTarget = 7 // 玩家在目标点上
};

// 地图数据结构
struct MapData {
    int rows = 0;
    int cols = 0;
    std::vector<std::vector<MapElement>> grid;  // 地图网格
    QPoint playerStartPos;                      // 玩家起始位置
    std::vector<QPoint> targetPositions;        // 目标点位置列表
};

#endif // MAPDATA_H
